package com.ruoyi.system.domain.construction;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.domain.zhuangxiumain.shopMain.SupplierInfo;
import lombok.*;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 施工队 类别表
 * @author 张少丛
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Team implements Serializable {

    private static final long serialVersionUID = 1L;

    /* 类别ID **/
    private Long teamId;

    /** 分类名称 */
    @Excel(name = "分类名称")
    private String teamName;

    /** 分类编码 */
    @Excel(name = "分类编码")
    private String teamCode;

    /** 父分类ID */
    @Excel(name = "父分类ID")
    private Integer parentId;

    /** 分类层级 1  2  */
    @Excel(name = "分类层级 1  2 ")
    private Integer teamLevel;

    /** 分类状态 1启动 0禁用 2超管类别 */
    @Excel(name = "分类状态 1启动 0禁用")
    private String teamStatus;

    /** 0表示施工队类别,1表示租赁服务 */
    @Excel(name = "0表示施工队类别,1表示租赁服务")
    private String teamType;

    /** 分类类别 1超管类别 0普通用户 */
    @Excel(name = "1超管类别 0普通用户")
    private String statusType;

    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifiedTime;

    /** 删除标识 */
    private String delFlag;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Integer supplierId;

    private SupplierInfo supplierInfo;

    // 供应商ID组
    private List<Long> supplierIds;


    @Override
    public String toString() {
        return "Team{" +
                "teamId=" + teamId +
                ", teamName='" + teamName + '\'' +
                ", teamCode='" + teamCode + '\'' +
                ", parentId=" + parentId +
                ", teamLevel=" + teamLevel +
                ", teamStatus='" + teamStatus + '\'' +
                ", teamType='" + teamType + '\'' +
                ", statusType='" + statusType + '\'' +
                ", modifiedTime=" + modifiedTime +
                ", delFlag='" + delFlag + '\'' +
                ", supplierId=" + supplierId +
                ", supplierInfo=" + supplierInfo +
                ", supplierIds=" + supplierIds +
                '}';
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getTeamId() {
        return teamId;
    }

    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }

    public String getTeamCode() {
        return teamCode;
    }

    public void setTeamCode(String teamCode) {
        this.teamCode = teamCode;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public Integer getTeamLevel() {
        return teamLevel;
    }

    public void setTeamLevel(Integer teamLevel) {
        this.teamLevel = teamLevel;
    }

    public String getTeamStatus() {
        return teamStatus;
    }

    public void setTeamStatus(String teamStatus) {
        this.teamStatus = teamStatus;
    }

    public String getTeamType() {
        return teamType;
    }

    public void setTeamType(String teamType) {
        this.teamType = teamType;
    }

    public String getStatusType() {
        return statusType;
    }

    public void setStatusType(String statusType) {
        this.statusType = statusType;
    }

    public Date getModifiedTime() {
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime) {
        this.modifiedTime = modifiedTime;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Integer supplierId) {
        this.supplierId = supplierId;
    }

    public SupplierInfo getSupplierInfo() {
        return supplierInfo;
    }

    public void setSupplierInfo(SupplierInfo supplierInfo) {
        this.supplierInfo = supplierInfo;
    }

    public List<Long> getSupplierIds() {
        return supplierIds;
    }

    public void setSupplierIds(List<Long> supplierIds) {
        this.supplierIds = supplierIds;
    }
}
